Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add latency to index and node Elasticsearch stats #22625

Merged
merged 7 commits into from
Oct 23, 2018

Conversation

ruflin
Copy link
Member

@ruflin ruflin commented Sep 3, 2018

Closes #22503

@ruflin ruflin added the Team:Monitoring Stack Monitoring team label Sep 3, 2018
@elasticmachine
Copy link
Contributor

💔 Build Failed

@@ -88,6 +88,14 @@ export const metricSets = {
{
keys: ['node_cgroup_periods', 'node_cgroup_throttled_count'],
name: 'node_cgroup_stats'
},
{
keys: ['node_index_latency'],
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check this again, below are already query and index latency in the overview I just realised.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pickypg I realised some screens we have in advanced and under the overview. I assume this is on purpose.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but that "purpose" was relatively arbitrary. Basically the goal with the original charts were that they were something everyone would want to look at while everything under "Advanced" may require more intimate knowledge (beit of the JVM or ES itself).

We also originally had a rule for no more than 6 charts on the non-Advanced screen, but that does not have to continue. It was arbitrary and the biggest benefit is that it prevents the need to scroll on large screens.

@chrisronline
Copy link
Contributor

screen shot 2018-09-04 at 4 38 16 pm

I think you need to set title properties for the relevant metrics to ensure these graphs have appropriate titles:

@pickypg
Copy link
Member

pickypg commented Oct 15, 2018

Ping @ruflin. This one seems to have slipped away.

@@ -18,6 +18,7 @@
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_throttling"/></div>
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_disk"/></div>
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_segment_count"/></div>
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_latency"/></div>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chrisronline I'm trying to figure out how to set the title for this one. It seems to set the title from index_index_latency.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea the title is managed by the metric itself, so it's a little disconnected from the UI. You'll need to change it there

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is where I'm stuck. index_latency itself is not a metric but the name of 2 metrics combined. Interestingly in the UI it shows the title of the first metric.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The corresponding Javascript file defines that combined "series" name when it's a combined chart.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that you figured that out after reading this. But we do grab the first title:

https://github.com/elastic/kibana/blob/master/x-pack/plugins/monitoring/public/components/chart/get_title.js#L13-L19

Generally speaking though, we define unique metrics per display.

@elasticmachine
Copy link
Contributor

💔 Build Failed

@@ -18,6 +18,7 @@
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_throttling"/></div>
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_disk"/></div>
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_segment_count"/></div>
<div class="col-md-6"><monitoring-chart series="pageData.metrics.index_latency"/></div>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is where I'm stuck. index_latency itself is not a metric but the name of 2 metrics combined. Interestingly in the UI it shows the title of the first metric.

},
{
keys: ['index_index_latency', 'index_query_latency'],
name: 'index_latency'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chrisronline It's here that have have 2 metrics combined in 1 graph. Where do I modify the title of the graph. I tried to create an "empty" metric index_latency but this trick didn't work. It still picks the name of the first metric.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. It uses the title for the first metric found in the set, so in this case index_index_latency. That's what you're seeing right? That's the behavior I found as well

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but in this case the title should not be from the first metric. And there are quite a few examples in Advance where this is also not the case but I didn't find out so far how this is changed. @pickypg might share some insights here?

@ruflin ruflin changed the title [WIP] Add latency to index and node Elasticsearch stats Add latency to index and node Elasticsearch stats Oct 18, 2018
@elasticmachine
Copy link
Contributor

💔 Build Failed

@ruflin
Copy link
Member Author

ruflin commented Oct 19, 2018

@chrisronline I fixed the title, thanks for the help. This should be ready for review.

@ruflin ruflin added the v6.5.0 label Oct 19, 2018
@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💔 Build Failed

@chrisronline
Copy link
Contributor

retest

@elasticmachine
Copy link
Contributor

💔 Build Failed

@chrisronline
Copy link
Contributor

@ruflin To fix the test error, open this fixture, delete everything in the file, then paste all of this json and commit and push :)

@ruflin
Copy link
Member Author

ruflin commented Oct 23, 2018

@chrisronline Thanks, will do that. I'm pretty sure there is also a command I could run to update this fixture?

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Copy link
Contributor

@chrisronline chrisronline left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@ruflin ruflin merged commit e8451ad into elastic:master Oct 23, 2018
@ruflin ruflin deleted the index-latency branch October 23, 2018 17:26
ruflin added a commit to ruflin/kibana that referenced this pull request Oct 23, 2018
XavierM added a commit that referenced this pull request Oct 24, 2018
* fixing other bucket filters (#24217)

* fixing other bucket filters

* adding selenium tests

* using lodash flatten

* using lodash flatten

* fixing based on tims review

* Fix functional tests

* [ML] Fixes font size of headings in anomalies table expanded row (#24390)

* Use metric indices when displaying metrics in the waffle map (#24251)

* Add drilldown to waffle map groupings (#24301)

* Resolve known APIs (#24398)

* Fix: Use basepath from state for socket path (#24369)

Closes #23168

This PR uses the `basePath` constant from Angular to mount the client socket instance, allowing it to connect correctly even in when using a Space.

### Workpad correctly loading in a Space
![screenshot 2018-10-22 15 57 00](https://user-images.githubusercontent.com/404731/47324055-251a3f80-d613-11e8-9fb0-0b0eaa3b974d.png)

### List of workpads restricted to a space
![screenshot 2018-10-22 13 49 54](https://user-images.githubusercontent.com/404731/47319741-50496280-d604-11e8-8966-83ef3a9fb320.png)

### List of workpads restricted to default space
![screenshot 2018-10-22 13 50 37](https://user-images.githubusercontent.com/404731/47319747-593a3400-d604-11e8-960d-385c80c7638a.png)

* [ML] Fixes check for lower memory limit. (#24323)

- Fixes the job validation for the lower bound of the model memory limit. Previously the check was against zero, now it's again less than 1MB, which is the same as the backend expects.
- If the user entered model memory limit is less than half the value of the estimated model memory limit, a warning type message gets triggered. If the user entered model memory limit is more than half the value but less then the actual value of the estimated model memory limit, then the already existing info type message is shown. The unit tests have been updated to reflect that behavior.

* Euify and Reactify Query Bar Component (#23704)

Implements query bar portion of https://elastic.github.io/eui/#/layout/header. Filter bar will come in another PR.

Fixes #14086

Re-implements our query bar component in React using some EUI components. Existing typeahead and suggestion styles were copied over 1:1 for now after talking with Dave about it. In this PR I focused on reaching feature parity with the existing query bar. Some additional work would be needed before we could move this into EUI as a generic component that could be consumed by other plugins.

Still needs some new tests and I suspect some old tests will need to be updated, but other than that this PR is functionally complete and ready for reviews.

* Add latency to index and node Elasticsearch stats (#22625)

Closes #22503

* [Infra UI] Adding time ranges to detail links (#24237)

* [Infra UI] Adding time ranges to detail links

- Adds timeranges to hosts, containers, and pods links
- Fixes #24228 - Typos and what not prevented urls from working

* remove argument hard coded formatting

* Cleaning up query arg generation

* Adding missing file

* removing rison hard coded string

* Make sure Vega tooltip isn't cut off (#24409)

Make sure the vega options dropdown menu is visible

* refactor infra folder to an ingest folder who allow multiple products under it

* fix lint error

* remove my temp folder

* fix link for icon

* rename xpack.infra or xpack/infra to xpack.ingest or xpack/ingest

* update to ingest

* no more infra

* change graphql endpoint

* fix test path

* fix path for xpack infra test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Monitoring Stack Monitoring team v6.5.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants